Skip to main content

URI URL统一资源标识符

· 4 min read
CheverJohn

URI(Uniform Resource Identifier)

采用一种特定语法标识一个资源的字符串

格式:

模式:模式特定部分(模式特定部分的语法取决于所用的模式)

模式包括:

由小写字母、数字和加号、点及连号符组成

data链接中直接包含的Base64编码数据

file本地磁盘的文件

ftp FTP服务器

HTTP使用超文本传输协议的国际互联网服务器

mailto电子邮件地址

magnet可以通过对等网络下载的资源

Telnet与基于Telnet的服务连接

模式特定部分包扩:

//authority/path?query(//授权机构/路径?查询字符串)

由ASCII字母数字符号组成,还可以使用标点符号-、_、·、!、~

定界符(/、?、&、=)可以有其预定义用途

所有其他字符及内容中需用到的定界符也应用%转义(空格%20/%2F)

authority:负责解析该URI其余部分的授权机构 授权机构是Internet主机,还可提供可选的用户名和端口 如:ftp://mp3:mp3@ci43198-a.ashvill.nc.home.com:33/VanHalen-Jump.mp3

path:授权机构用来确定所标识资源的字符串

URL最常见的URI

两者区别:URI表示资源是什么,URL表示资源的具体位置,URI是URL的抽象。Java中URL对象对应网络获取的应用层协议的一个表示,而URI对象纯粹用于解析和处理字符串。

绝对URL

protocol://userInfo@host.port/path?query#fragment

host 提供所需资源服务区的名字(主机/服务器ip地址)

userInfo 可选,服务器登录信息

port 可选,服务在其默认端口运行,无需此部分

path 指定服务器上的一个特定目录文件系统,路径相对于服务器的文档跟目录,向公众开放的服务器不会将其整个文件系统展示给客户端,而只是展示指定目录中的内容

query 向服务器提供附加参数,一般只在http URL中使用,其中包含表单数据,作为输入提供给服务端的运行程序

fragment 指向远程资源的某个特定部分 HTML 锚 XML XPointer 段 ref 片段标识符在HTML文档中用id属性创建

包含片段标识符的是URL引用,不是URL

相对URL继承了 父文档部分信息的URL

在相对URL中,缺少的各部分都与所在文档的URL中对应的部分相同

例如浏览http://www.ibiblio.org/java/faq/javatutoial.html时

若无"/"开头 例如<__a href="javafaq.html">

相当于http://www.ibiblio.org/java/faq/javafaq.html

若以"/"开头 如<__a href="/projects/ipv61">

则相当于http://www.ibiblio.org/projects/ipv61

相对URL允许用多种协议来提供一个文档树,且相对URL允许将整个文档树从一个网站移动或复制到另一个网站,而不会破坏所有的内部连接。